/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package MyIM.client.callback;

import MyIM.component.Friend;
import MyIM.utilities.Status;
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.ArrayList;

/**
 *
 * @author satthuvdh
 */
public interface CallBackRemote extends Remote {

    void addFriend(Friend friend, int gid) throws RemoteException;

    void removeFriend(int fid) throws RemoteException;

    void addMessage(int from, int to, String message) throws RemoteException;

    void initFriendList(String username) throws RemoteException;

    void friendOnline(int fid) throws RemoteException;

    void friendOffline(int fid) throws RemoteException;

    void requestAddFriend(int uid, int fid, int gid) throws RemoteException;

    void addGroup(int gid, String groupName) throws RemoteException;

    Status addToConferene(int ownerid, String conferenceName, ArrayList<Friend> attendees) throws RemoteException;

    void addMessageConference(int ownerid, String confereceName, int from, String message) throws RemoteException;
    
    void acceptAddFriend(String requested) throws RemoteException;
    
    void initConference(int ownerid, String conferenceName, ArrayList<Friend> attendees) throws RemoteException;
}
